home *** CD-ROM | disk | FTP | other *** search
/ Your Choice 3 / Your Choice Software Collection 3.iso / prgmming / fsprite3 / fsprite3.int < prev    next >
Text File  |  1994-04-28  |  2KB  |  54 lines

  1. {Unit for developing 256 color 320x200 games}
  2. Unit FSPRITE3;
  3.  
  4. interface
  5. Uses crt,Dos;
  6.  
  7. Const MaxSpriteMemSize=20000;    {Maximum Sprite Sizing}
  8.       SpritesCompiled:boolean=false;
  9.       FullScreenCopy:boolean=false; {When variable is true copy entire midscreen to act}
  10.       TileMode:boolean=false;
  11.  
  12.       ALTKEY=8;
  13.       CTRLKEY=4;
  14.       LEFTSHIFTKEY=2;
  15.       RIGHTSHIFTKEY=1;
  16.       CAPSLOCK=64; NUMLOCK =32; SCROLLLOCK=16;
  17.  
  18. type ColorValue = record RED,GREEN,BLUE: shortint; end;
  19.      PaletteType = array [0..255] of ColorValue;
  20.      SpriteGrid = Array [0..maxspritememsize] of byte;
  21.      SpriteGridPointer = ^SpriteGrid;
  22.      Sprite = record
  23.        Sx,Sy:byte;
  24.        Def:SPRITEGRIDPOINTER;
  25.      end;
  26.      SpritePointer = ^Sprite;
  27.      GraphicScreen = Array[0..203,0..319] of byte;
  28.      ScreenPointer = ^GraphicScreen;
  29.      OnScreen_Part_Type=record num:word;on:boolean;x:integer;y:integer;end;
  30.      OnScreenType=Array[0..100]
  31.           of OnScreen_Part_Type;
  32.  
  33. var XKeyLocation:byte absolute $0040:$0017;
  34.     SpriteFileNames:ARRAY[0..200] OF STRING[12];
  35.     OS,NumberSpriteDefs:integer;
  36.     Sprites:Array[0..200] of SpritePointer;
  37.     OnScreen:OnScreenType;
  38.     Back,Mid:ScreenPointer;
  39.     Act:GraphicScreen absolute $A000:0000;
  40.     FKEY:array[0..255] of boolean;        {Array for keyboard buffer}
  41.  
  42. Procedure killbuff;
  43. Procedure startfkey;
  44. Function xkey(LookFor:byte):boolean;
  45. procedure Loadpalette(passname:string; var p:palettetype); {Load straight palette file from disk}
  46. procedure SetVGAPalette(var tp:PaletteType);
  47. procedure ReadVGApalette(var tp: PaletteType);             {Puts current value in variable}
  48. procedure SetGraph; Inline($B8/$13/0/$CD/$10);
  49. procedure ReadSprites(FName:String);                       {Read sprites from master data file}
  50. procedure Compile;                                         {Compile sprites for speed}
  51. procedure Show;                                            {Redisplay sprites}
  52. Procedure Cursor_On;                                       {Turns text cursor on}
  53. Procedure Cursor_Off;                                      {Turns text cursor off}
  54.